Skip to main content

자연수 뒤집어 배열로 만들기

문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요.

예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

제한 조건

  • n은 10,000,000,000이하인 자연수입니다.

입출력 예

nreturn
12345[5,4,3,2,1]

풀이

첫 번째 풀이
def solution(n):
list = []
while n > 0:
list.append(n % 10)
n = n // 10
return list

자연수를 뒤집는 방법은 n의 일의 자리를 뽑아내서 배열에 집어넣는 방식으로 구현하면 됩니다.

동일한 원리를 풀이한 문제가 있습니다. 상세 풀이는 아래 문제를 확인해 주세요.

알고리즘 > 프로그래머스 > Lv.1 > 자릿수 더하기


두 번째 풀이
def solution(n):
return [int(i) for i in str(n)[::-1]]

두 번째 풀이 방법은 리스트 컴프리헨션으로 풀어봤습니다.

원리는 다음과 같습니다.

  • 정수를 str() 함수로 문자열로 변환한다.
  • [::-1] 리스트 슬라이싱으로 문자열을 거꾸로 뒤집는다.
  • 리스트 컴프리헨션으로 뒤집은 문자열의 문자를 하나씩 꺼내서 새로운 배열을 만든다.